import History from './base'
export default class extends History {
  constructor (vm, Vue) {
    super(vm, Vue)
    this.vm = vm
    this.ensureSlash()
  }

  /**
   * 获取 # 后面的路径
   */
  getCurrentLocation () {
    return window.location.hash.slice(1)
  }

  /**
   * 确认 # 后面有内容
   */
  ensureSlash () {
    if (window.location.hash) {
      return
    }
    window.location.hash = '/'
  }

  /**
   * 监听
   * 当URL的片段标识符更改时，将触发hashchange事件 (跟在＃符号后面的URL部分，包括＃符号)
   * @param {*}
   * @return {void}
   */
  setupListener () {
    window.addEventListener('hashchange', () => {
      this.vm.data.current = this.getCurrentLocation()
    })
  }

  clickHander (e, to) {
    window.location.hash = `${to}`
    e.preventDefault()
  }
}
